home *** CD-ROM | disk | FTP | other *** search
/ Digital Talk 55 / Digital_Talk_55_2002-06-10_Digital_Talk_de_Side_C.d64 / basic-praxis 1.1 (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  37KB  |  1,195 lines

  1. 5 gosub6:poke792,116:poke793,164:gosub9998:goto5000:--reset,rs-taste,test+start
  2. 6 ::sys64931:sys58784:sys64917:sys58651:::sys64789:sys58346:::rem---reset prg
  3. 7 :poke.,47:poke24,.:sys62255:sys58451:sys43957:sys60911:poke198,.:return:--norm
  4. 8 ::a$="basic-praxis 1.1":open1,8,15,"s:"+a$:close1:savea$,8:return:---save-prg:
  5. 9 ====speicher====================
  6. 10 b=128:rem---binaerzahl ausgeben(a)
  7. 11 :z$(.)=".":z$(1)="1":fori=.to7:printz$(-((aandb)>.));:b=b/2:next:return:    :
  8. 12 :rem---bits(0-7)und negation(255-bit)
  9. 13 :b(7)=128:b(6)=64:b(5)=32:b(4)=16:b(3)=8:b(2)=4:b(1)=2:b(0)=1:
  10. 14 :fori=.to7:n(i)=255-b(i):next:return:
  11. 15 :rem---bits setzen/loeschen(p,i)
  12. 16 :poke p,peek(p)or b(i):return:
  13. 17 :poke p,peek(p)andn(i):return:
  14. 18 :poke p,peek(p)andnorb:return:
  15. 19 ===funktionen=================
  16. 20 :rem---zahlenkorrektur/runden/modulo
  17. 21 :deffn k(a)=val(str$(a)):
  18. 22 :deffn r(a)=fnk(int(a*100+.5)/100)
  19. 23 :deffn m(a)=a-int(fnk(a/m))*m
  20. 25 :rem---2-byte peek/zufalls-zahlen
  21. 26 :deffn p(a)=peek(a)+peek(a+1)*256
  22. 27 :deffn z(a)=int(rnd(1)*a)+1
  23. 29 :
  24. 30 :rem---joystick/tasten-abfrage
  25. 31 :deffn j(a)=31-peek(56320+a)and31
  26. 32 :deffnt(a)=64-peek(203)+peek(653)/10
  27. 33 :deffn tt(a)=fnp(245)+peek(203):
  28. 34 :rem---cursor position/cursor peek
  29. 35 :deffn c(a)=fnp(209)+pos(.)+a
  30. 36 :deffn cp(a)=peek(fnc(a))
  31. 37 :
  32. 40 :rem---farbcode nach ascii-code
  33. 41 :deffn fa(a)=peek(59610+(aand15))
  34. 42 :deffn ff(a)=fnfa(peek(646))
  35. 43 :
  36. 44 :rem---schirm/ascii-code
  37. 45 :deffn s0(a)=a-(a<32)*64-(a>63)*32-(a>95)*32::deffn sa(a)=fns0(aand127)
  38. 46 :deffn as(a)=a+(a>63)*64-(a>95anda<128)*32+(a>191)*64+(a=255)*33
  39. 47 :
  40. 48 :r$=chr$(13):h$=chr$(34)::goto3951:  :
  41. 49 ===grundlagen===============
  42. 50 :rem---tastenabfrage-varianten(a$)
  43. 51 :gosub54:geta$:return:
  44. 52 :gosub54:sys61758:a=peek(780):return
  45. 53 :gosub54:a=peek(631):return:
  46. 54 poke649,1:poke198,.:wait198,1:return
  47. 55 ::::::::::::goto902:
  48. 56 :poke786,168:poke785,163:sys47083(x),usr(.):---goto(x)
  49. 57 :a=2048:a%=a/256:poke781,a-a%*256:poke782,a%:sys47078:---goto adresse
  50. 58 :sys42638:rem---goto prg-anfang
  51. 59 :poke780,167:poke782,174:sys42625:end:--kein return,stapel init
  52. 60 :rem---restore adresse(a)
  53. 61 :poke66,int((a-1)/256):poke65,a-peek(66)*256-1:
  54. 62 :deffnl(a)=peek(61)+peek(62)*256+1:return:---zeilen-adresse
  55. 63 :gosub602:dim l(20):gosub62:
  56. 64 :l(1)=fnl(.)::data"name 1",1,2
  57. 65 :l(2)=fnl(.)::data"name 2",2,3
  58. 66 :return:
  59. 67 :rem"---[193][213][198][210][213][198]:
  60. 68 :[141]63:a[178]l(2):[141]60:[135] a$,a,b:[153]""a$,a,b:[142]:
  61. 69 :                                    :
  62. 70 :[141]75:[137]77:[143]--sprite input(a$)
  63. 71 :x[178][185](.):y[178][194](214):x[178]x[171][181](x[173]40)[172]40:c[178]x[172]8[170]24:a[178]1:[151]vc[170]39,[194](646)
  64. 72 :[151]vc,c[175]255:[151]vc[170]16,[171](c[177][178]256):[151]vc[170]1,y[172]8[170]43:i[178].:[151]vc[170]21,a:
  65. 73 :[161]a$:[139]a$[178]""[167]:i[178]i[170]1:[145]1[171](i[178]15)[137]73:a[178]1[171]a:[137]72:
  66. 74 :a%[178][198](a$)[173]32:[151]vc[170]21,.:[151]212,.:[142]:      :
  67. 75 :b[178]11:a[178]([194](648)[175]192)[172]256[170]b[172]64:br[178][194](648)[172]256:vc[178]53248:p[178][185](x)
  68. 76 :[129]i[178]a[164]i[170]63:[151]i,.:[130]:[151]a[170]45,255:[151]a[170]42,255:[151]br[170]1016,b:[142]::::
  69. 77 ::[141]71:[139][168](a$[178][199](13)[176]a$[178]"on"[176]a$[178]"")[167]:[153]a$;:[137]77:
  70. 78 :[158]58882:[151]211,p:a$[178]"":[159]1,3:[129]i[178]p[164][194](200)[171]1:[161]#1,b$:a$[178]a$[170]b$:[130]
  71. 79 :[160]1:[153]:[142]:[171][171][171]einlesen    :
  72. 80 :p[178]0:[143]--joy & tasten-abfrage(p,a$)
  73. 81 :[161]a$:j[178]31[171][194](56320[170]p)[175]31:[145][171](j[178].[175]a$[178]"")[137]81:[139]j[178].[167]:[142]
  74. 82 :[139]j[175]4[167]:a$[178]"cmd":[142]
  75. 83 :[139]j[175]8[167]:a$[178]"":[142]
  76. 84 :[139]j[175]2[167]:a$[178]"":[142]
  77. 85 :[139]j[175]1[167]:a$[178]"on":[142]
  78. 86 :a$[178][199](13):[142]:[171][171][171]feuerknopf
  79. 87 :
  80. 88 :[153]" cmd";a$;"(NULL)cmd";:[141]80:[145][171](a$[179][177]r$)[137]88:[142]:
  81. 89 :
  82. 90 :[143]---input mit sonderzeichen(a$)
  83. 91 :a$[178]"":a[178][185](.):[158]42336:[129]i[178]512[164]511[170][194](200)[171]a:a$[178]a$[170][199]([194](i)):[130]
  84. 92 :a[178][197](a$):[153]""a$,a:[142]:
  85. 93 :
  86. 94 :
  87. 99 [178][178][178][178][164]n[173]musik[178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178]
  88. 100 :n[178].:[143]----ton(l,f,t,w,a,h,g,n,s)
  89. 101 :sd[178]54272:[129]ig[178]1[164]n:[141]102:[141]110:[141]105:[130]:[142]:
  90. 102 :sx[178]sm[172]7:[151]sd[170]sx[170]2,(t[171][181](t))[172]1001:[151]sd[170]sx[170]3,t:
  91. 103 :[151]sd[170]22,g:[151]sd[170]21,(g[171][181](g))[172]1001:[151]sd[170]sx,(f[171][181](f))[172]1001:
  92. 104 :[151]sd[170]sx[170]1,f:[151]sd[170]sx[170]6,h:[151]sd[170]sx[170]5,a:[151]sd[170]24,l:[151]sd[170]sx[170]4,w:[142]:
  93. 105 :[151]sd[170]sm[172]7[170]5,.:[151]sd[170]sm[172]7[170]4,.:[142]:[171][171][171][164]n aus
  94. 106 :sd[178]54272:[151]sd[170]4,.:[151]sd[170]11,.:[151]sd[170]18,.:[151]sd[170]24,.:[142]:[171][171]alles aus
  95. 108 :
  96. 110 :[143]---wait seconds(s)
  97. 111 :[129]ih[178].[164]s[172]900:[130]:[142]:
  98. 112 [129]ih[178]ti[164]ih[170]s[172]60:ih[178]ti:[130]:[142]
  99. 113 :
  100. 120 :[143]---aufruf
  101. 121 :w[178]65:f[178]30:n[178]11:s[178].2:
  102. 122 :sm[178]0:l[178]15:t[178]25.25:h[178]255:g[178]0:a[178]15:[141]101:[141]106:[142]:
  103. 129 :
  104. 148 :
  105. 150 :sid[178]54272:[143]----tonmodul variablen
  106. 151 :f [178] sid[170]0[171]1: [164]nhoehe([184]quenz)
  107. 152 :t [178] sid[170]2[171]3: tastverhaeltnis(w[178]65)
  108. 153 :w [178] sid[170]4  : wel[195]art([164]nart)
  109. 154 :a [178] sid[170]5  : ab[170]anschwell[171]zeit
  110. 155 :h [178] sid[170]6  : [164]nfuelle[170]halte[171]pegel
  111. 156 :sm[178] .....  : stimme(0[171]2)
  112. 157 :s [178] .....  : sekunden
  113. 158 :n [178] .....  : wiederholzahl
  114. 159 :
  115. 160 :g [178]sid[170]21[171]2: grenz[184]quenz
  116. 161 :r [178] sid[170]23 : res[145]anz [170] filterart
  117. 162 :l [178] sid[170]24 : laut[171]leise[170]filter[171]ein
  118. 163 :
  119. 164 :o [178](sid[170]27): oszila[164]r  stimme 3
  120. 165 :k [178](sid[170]28): huellkurve stimme 3
  121. 166 :
  122. 167 :
  123. 198 :
  124. 199 [178][178][178][178]sprites[178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178]
  125. 200 :[143]--sprite ein(x,y,f,a,p,nr,nb)
  126. 201 :[141]222:[143]---aus+variablen
  127. 202 :[141]216:[141]213:[141]203:[137]210:
  128. 203 :[143]---pos(x,y)
  129. 204 :q[178]v[170]2[172]nr:[151]q[170]1,y:[151]q,x[175]255
  130. 205 :[151]v[170]16,[194](v[170]16)[175]n(nr)[176][171](x[178][177]256)[172]2[174]nr:[151]q[170]1,y:[142]:
  131. 210 :[141]224:[143]--an,prio.,blk(a,p,nb)
  132. 211 :[151]bs[170]1016[170]nr,nb:[151]v[170]27,[194](v[170]27)[175]n(nr)[176]p[172]2[174]nr
  133. 212 :[151]v[170]21,[194](v[170]21)[175]n(nr)[176]a[172]2[174]nr:[142]:
  134. 213 :::[143]---multicolor,farben(m,f2,f3)
  135. 214 :[151]v[170]28,[194](v[170]28)[175]n(nr)[176]m[172]2[174]nr::[151]v[170]37,f2:[151]v[170]38,f3:
  136. 215 :[151]v[170]39[170]nr,f:[142]:[171][171][171]farbe(f)
  137. 216 :::[143]---expand(s,w)
  138. 217 :[151]v[170]23,[194](v[170]23)[175]n(nr)[176]s[172]2[174]nr:[151]v[170]29,[194](v[170]29)[175]n(nr)[176]w[172]2[174]nr
  139. 218 :[142]:
  140. 219 :
  141. 220 :[143]---spritedata-install(nr,nb)
  142. 221 :[141]60:[141]225:[129]i[178].[164]63:[135]h:[151]na[170]i,h:[130]:[151]bs[170]1016[170]nr,nb:[142]
  143. 222 :[143]---sprite reset/varinit
  144. 223 :[141]224:[151]v[170]21,.:[151]v[170]23,.:[151]v[170]29,.:[129]i[178]v[164]v[170]16:[151]i,.:[130]:[142]
  145. 224 b[178]1:[129]i[178].[164]7:n(i)[178]255[171]b:b[178]b[170]b:[130]
  146. 225 :bs[178][194](648)[172]256:vs[178]([194](648)[175]192)[172]256:na[178]vs[170]nb[172]64:v[178]53248:[142]
  147. 229 :
  148. 230 :[143]---sprite beiwerte les/setz
  149. 234 :b[178][194](na[170]63):m[178][180](b[175]128):w[178][180](b[175]64):s[178][180](b[175]32):f[178]b[175]15:[142]
  150. 235 :[151]na[170]63,f[170]m[172]128[170]w[172]64[170]s[172]32:[142]
  151. 238 :
  152. 239 :
  153. 240 :[143]---sprites gleichzeitig setzen
  154. 241 :[143]---vic-tabelle(60600)
  155. 242 :v[178]60600:[141]204:v[178]53248:[142]:[171][171][171][171][171][171]schreib
  156. 243 :z[178]16:[151]781,z:[158]58794:[142]:[171][171][171][171][171][171][171]setz
  157. 244 :
  158. 250 :[141]280:[143]---sprite-steuerung
  159. 251 :x[178]100:y[178]100:f[178]1:v[178]53248:[151]v[170]21,.:[151]v[170]27,([194](v[170]27)[175]254):[151]v[170]39,f:
  160. 252 :[141]274:[151]v[170]27,.:[151]v[170]21,1:
  161. 260 :[141]274:ks[178][194](v[170]31)[176][194](v[170]30):[139]ks[137]261:[143]---sprite kollision
  162. 261 :xv[178]x:yv[178]y:[141]270:[143]---joystick
  163. 262 :k[178]k[171]2[172](k[179]4)[171]4[172](k[177]3[175]k[179]8):[139]j[179][177]jv[167]:k[178]k[173]1.5
  164. 263 :x[178]x[170]jr[172]k:[139]x[179]15[176]x[177]330[167]:x[178]15[171]315[172](x[177]15):k[178].
  165. 264 :y[178]y[170]ju[172]k:[139]y[179]42[176]y[177]235[167]:y[178]42[171]193[172](y[177]42):k[178].
  166. 265 :[145]1[170]jf[137]260:[151]v[170]21,0:[142]
  167. 266 :
  168. 270 :p[178].:jv[178]j:[143]---get joystick
  169. 271 :j[178]31[171][194](56320[170]p)[175]31:[139]j[178].[167]:k[178]j:[137]271:
  170. 272 :ju[178][180]((j[175]2)[171](j[175]1)):jr[178][180]((j[175]8)[171](j[175]4)):jf[178][171](j[177]15):[142]:
  171. 274 :[151]v[170]1,y:[151]v,x[175]255:[151]v[170]16,[171](x[177][178]256):[151]v[170]1,y:[142]:[171][171][171]set sprite
  172. 275 :
  173. 280 :[143]---sprite datas
  174. 281 :[141]62:a[178][165]l(.):nr[178].:nb[178]11:[141]220:[142]
  175. 282 [131]255,255,255,255,255,255,192,64,12,96,128,112,48,129,192,25,3,,14,6,
  176. 283 [131]6,6,,3,6,,1,134,,,231,,,99,,,51,128,,25,128,,13,128,,7,128,,3,128,,
  177. 284 [131]128,,,,,,,,,,1
  178. 285 :
  179. 299 [178][178][178]k[145]figurati[145][178][178][178][178][178][178][178][178][178][178][178][178][178][178]
  180. 300 [171][171]rom[173]ram,schirm(52224),satz(53248)
  181. 301 [151]56334,.:[151]1,51:[129]i[178]88[164]91:[151]i,.:[130]:[151]781,97:[151]782,.:[158]41971
  182. 302 :[151]53248[170]32[172]8[170]4,32:[143]---inst.
  183. 303 :[151]1,53:[151]56334,1:[151]648,204:[158]58692:[151]56576,196:[151]53272,52:[142]
  184. 310 :[141]60:[143]---super data-poke
  185. 311 :c[178][194](1):[151]56334,.:[151]1,51:[141]312:[151]1,c:[151]56334,1:[142]
  186. 312 :[129]a[178].[164]65535:[135]b:[139]b[177][178].[175]b[179]256[167]:[151]a,b:[137]314:
  187. 313 :a[178][182](b)[171]1:[139]b[179].[167]:a[178]a[170]66000[172][171](b[177][171]1):[139]b[179][171]255[167]:[158][182](b)
  188. 314 :[130]:[142]:
  189. 317 :
  190. 320 :[143]"(NULL)eichen-atndr.berechnen+poken(8b)
  191. 321 :z=32:zs=53248::a=zs+8*z:printa
  192. 322 :gosub311:data53504,,,,32,,,,,-.1
  193. 325 :return:
  194. 326 :
  195. 330 :poke53272,peek(53272)and240or(a*2):return:---zeichensatz schalten(0-7)
  196. 331 :poke53272,peek(53272)and15ora*16:poke648,peek(648)and240ora*4:return:schirm
  197. 340 "[203][207][206][198][201][199][213][210][193][212][201][207][206] des [211]peichers ein-
  198. 341 "stellen:
  199. 342 :poke1,55:rem--i/o,basic+kernal rom
  200. 343 :poke1,54:rem--i/o,basic ram,k. rom
  201. 344 :poke1,53:rem--i/o,basic+kernal ram
  202. 345 :poke1,52:rem--64 kb im ram
  203. 346 :poke1,51:rem--zeichen rom(53248)
  204. 347 :poke1,48:rem--64 kb im ram
  205. 349 :
  206. 350 :rem---:schirm(35840),satz(36864)
  207. 351 :gosub354:poke648,140:sys58692:poke56576,197:poke53272,52:return:
  208. 352 :poke648,4:sys58692:rem---standard
  209. 353 :poke56576,199:poke53272,23:poke53265,27:return:
  210. 354 :a=32768:rem---speicher begrenzen
  211. 355 :a%=a/256:a=a-a%*256:poke51,a:poke52,a%:poke55,a:poke56,a%:return:
  212. 356 :
  213. 398 :
  214. 399 ===speicher kopieren===========
  215. 400 :rem---einzelkopie(a,e,n)
  216. 401 :fori=.toe-a:poken+i,peek(a+i):next::return:
  217. 404 :rem---string in speicher(a,a$)
  218. 405 :fori=.tolen(a$)-1:pokea+i,asc(mid$(a$,i+1)):next:return:
  219. 406 :rem---tastenpuffer beschreiben(a$)
  220. 407 a=631:gosub405:poke198,i-1:poke211,.:poke213,79:sys42107
  221. 408 :
  222. 409 :
  223. 410 :cs=46728:rem---string-copy(a,n,b)
  224. 412 :h=256::a%=n/h:poke53,n-a%*h:poke54,a%:a%=a/h:poke782,a%:poke781,a-a%*h
  225. 413 :poke780,b:syscs:return
  226. 419 :
  227. 430 ca=41960:rem---hoch-copy(a,e,n)
  228. 431 poke56334,.:poke1,51:gosub432:poke1,55:poke56334,1:return:---zeichencopy
  229. 432 h=256:b=e-a:c=int(b/h)*h:e=a+c:n=n+c:a%=e/h:poke90,e-a%*h:poke91,a%:a%=n/h
  230. 433 poke88,n-a%*h:poke89,a%:poke781,c/h+1:poke782,(b-c+1)and255:sysca+4:return
  231. 438 :
  232. 439 :
  233. 440 cb=42206:rem---runter copy(a,e,n)
  234. 441 gosub442:gosub443:pokecb+2,34:pokecb+9,35:pokecb+15,32:return
  235. 442 pokecb+2,88:pokecb+9,89:pokecb+15,96:return
  236. 443 :::h=256:b=e-a:b%=b/h:b=b-b%*h+1:b=b+h*(b>.):c=n+b:a=a+b:
  237. 444 a%=a/h:poke88,a-a%*h:poke89,a%:a%=c/h:poke36,c-a%*h:poke37,a%:
  238. 445 poke782,(h-b)and255:poke781,b%+1:syscb:return:
  239. 446 cb=42206:fori=.to14:poken+i,peek(cb+i):next:cb=n:goto442:---install(n)
  240. 448 :
  241. 449 :
  242. 450 rs=828:rem--ram-sprung/usr-ram-peek   (lesen/schreiben/ausfuehren des rams)
  243. 451 :a%=rs/256:poke209,rs-a%*256:poke210,a%:poke211,.:poke213,79
  244. 452 :print"h[184]e[146]i%[146]a[200]%[146]be[146]a%[146]i pce[146]i[168]e[146]a%[146]i([160]";:rem---sprung(25b)
  245. 453 :print"%[146]u[200]%[146]t[200] [183]7%[146]ae[146]i [146]0[184]d[146]a [146]@1[146]t$[146]id[146]a[216][204]z8":rem---peek(30b)
  246. 454 :a=rs+25:a%=a/256:poke785,a-a%*256:poke786,a%
  247. 455 :co=48:rem---vektor & config(v,co)
  248. 456 :pokers+7,169:pokers+8,co:a%=v/256:pokers+14,v-a%*256:pokers+15,a%:return
  249. 457 :
  250. 460 :rem---ram lesen/schreiben
  251. 461 :gosub450:p=usr(a):return:---les a
  252. 462 poke56334,.:poke1,51:pokea,b:poke1,55:poke56334,1:return:--schreib a,b
  253. 463 :
  254. 464 :
  255. 465 :
  256. 499 ===schirm rollen==============
  257. 500 a=.:e=24:rem-seiten-scroll h/r(a,k)
  258. 501 :h=217+a:a=a-1and255:ifk<.goto503
  259. 502 :h=h+1:forj=1tok:pokeh,peek(h)or128:poke214,e:print"[145]":next:return
  260. 503 :forj=1to-k:poke214,a:sys59749:pokeh,peek(h)or128:next:return
  261. 509 :
  262. 510 :rem---roll hoch/runter(a,e,k)
  263. 511 :poke214,a:a$="":b$="[145]":ife<athen:a$=b$:b$="":b=a:a=e:e=b
  264. 512 :forj=1toabs(k):fori=1toabs(e-a):printa$;:poke172,peek(209)
  265. 513 :poke173,peek(210):printb$;:sys59855:printa$;:next:next:return:
  266. 519 :
  267. 520 :gosub1825:rem--links/rechts(a,e,k)
  268. 521 :poke59385,.:poke211,.:m=(e-a)*3
  269. 522 :fori=1toabs(k):poke214,a:sys58640:gosub523:next:poke59385,4:return:
  270. 523 ifk>.then:printleft$(sr$,m);:return
  271. 524 :printleft$(sl$,m);:return:
  272. 525 :a$="[148] "+r$:l=75:gosub600:sr$=a$:a$=""+chr$(20)+r$:gosub600:sl$=a$:return
  273. 598 :
  274. 599 =====string operationen=======
  275. 600 :rem---string gen(a$,l)
  276. 601 :a$=a$+a$:on-(len(a$)*2<l)goto601:a$=a$+left$(a$,l-len(a$)):return:
  277. 602 :poke49,peek(47):poke50,peek(48):return:---felder loesch
  278. 609 :
  279. 610 :rem---set-string(a,l)
  280. 611 :gosub614:pokev,l:pokev+1,a-int(a/256)*256:pokev+2,a/256:return:
  281. 612 :gosub613:sysa:return:--sys-string
  282. 613 :gosub614:l=peek(v):a=peek(v+1)+peek(v+2)*256:return:---str.adresse/laenge
  283. 614 :poke32,peek(71):poke33,peek(72):v=peek(32)+peek(33)*256:return:---var-adr
  284. 615 :
  285. 617 x$="":a=1024+80:l=20:c=len(x$):gosub610:printx$:return:---aufruf set-string
  286. 619 :
  287. 620 b$=" ":rem---basic-string(a$,b$)
  288. 621 :p=511:gosub623:pokep+q,.:a$=b$:p=630:gosub623:gosub622:sys58451:return
  289. 622 :poke768,212:poke769,168:poke781,255:poke782,1:sys42118:
  290. 623 :forq=1tolen(a$):pokep+q,asc(mid$(a$,q)):next:poke198,len(a$):return:
  291. 625 :rem---listen und nachladen-demo
  292. 626 :a$="list 625":gosub620::return:
  293. 627 h$=chr$(34):a$=":l[207]"+h$+"basic*"+h$+",8":b$="run:"+chr$(13):goto621:
  294. 628 :
  295. 629 :
  296. 640 :n=50:rem---feld loeschen+fuellen
  297. 641 :poke49,peek(47):poke50,peek(48):
  298. 642 :dim d$(1,n),g(n):print"fuellen":deffn r(a)=rnd(1)*25+64:
  299. 643 :fori=1ton:d$(.,i)=chr$(fnr(.))+chr$(fnr(.))+chr$(fnr(.)):next:return:
  300. 644 :
  301. 650 :rem     zeiger sort       ----     :::::---(prinzip:such kleinsten)
  302. 651 :print"[147]zeiger sort"
  303. 652 z=n:forj=1ton:ifz<=jgoto656:
  304. 653 x=n:z=n:a$=d$(.,n):fori=ntojstep-1:if(d$(.,i)<=a$)then:x=i:a$=d$(.,x):z=z-1
  305. 654 :next::ifx>jthen:forh=.to1:h$=d$(h,j):d$(h,j)=d$(h,x):d$(h,x)=h$:next:
  306. 655 :
  307. 656 :geta$:ifa$>""then:wait198,1:geta$:ifa$="[136]"then:j=n+2:goto658:---wart
  308. 657 :print""j"[146]"d$(.,j)"..."d$(1,j)
  309. 658 :next:return:
  310. 659 :
  311. 660 :rem----super-zeiger-sort(n,d$(x,y))
  312. 662 j=n:z=n:g(z)=n:print"super zeiger"
  313. 663 :fora=1ton:on-(z<a)goto668:z=z-(z<n):on-(j<a)goto667:on-(z<n)goto665:h=a:
  314. 664 j=n:fork=aton:k=k-(d$(.,n)>=d$(.,k)ork>h+15)*n:a=k:on-(a<n)gosub670:next:a=h
  315. 665 a$=d$(.,g(z)):forj=j+(j=n)toastep-1:ifd$(.,j)<=a$thena$=d$(.,j):z=z-1:g(z)=j
  316. 666 :next:rem---suchen
  317. 667 :j=g(z):on-(j>a)gosub670
  318. 668 :gosub671:next:return:
  319. 669 :
  320. 670 :fori=.to1:a$=d$(i,a):d$(i,a)=d$(i,j ):d$(i,j)=a$:next:return:---tausch
  321. 671 :geta$:if(a$>"")then:wait198,1:geta$:ifa$="[136]"then:a=a+n:return:---warten
  322. 672 :print""a"[146]"d$(.,a)"..."d$(1,a)"":return:---ausgabe
  323. 673 :
  324. 674 :
  325. 699 ====laden und speichern========
  326. 700 :rem---basic-prg laden(a$)
  327. 701 :deffnp(a)=peek(a)+peek(a+1)*256:gosub9999:gosub710:ifst<>64then:return:
  328. 702 :poke45,peek(174):poke46,peek(175):sys42291:run:
  329. 703 :rem---basic-prg speichern(a$)
  330. 704 :deffnp(a)=peek(a)+peek(a+1)*256:gosub9999:e=e-1:gosub714:return:
  331. 710 :rem---prg-load(a$,a)
  332. 712 :h=256:sys(57812)a$,8,.:poke780,.:a%=a/h:poke782,a%:poke781,a-a%*h:
  333. 713 :poke157,.:sys62622:sys60911:return
  334. 714 :rem---prg-save(a$,a,e)
  335. 716 :h=256:sys(57812)"@0:"+a$,8:a%=a/h:poke194,a%:poke193,a-a%*h
  336. 717 :b=e+1:a%=b/h:poke175,a%:poke174,b-a%*h:poke157,.:sys62957:return
  337. 719 :
  338. 720 :rem--prg abschneiden
  339. 721 :gosub9998:pokea,.:pokea+1,.:a=a+2
  340. 722 :poke32,a/256:poke31,a-peek(32)*256:poke45,peek(31):poke46,peek(32):return
  341. 728 :
  342. 729 :
  343. 730 :rem---demo
  344. 731 :gosub733:print"speichern,loesch,";:a$="x2":gosub703:gosub720:clr
  345. 732 :gosub733:print"laden";:a$="x2":gosub700:run
  346. 733 :print"anzeigen":a=10000:e=a:gosub910:gosub50:print:return:
  347. 734 :
  348. 750 :rem---lade-prg+puffer(p$)install
  349. 751 pu=51968:v2=710:z=-13:l=.::fori=.to17:pokev2+i,peek(42336+i):next:v2=v2+14
  350. 752 ::pokev2-8,abs(z):pokev2-6,8*-(z>=.):pokev2+3,96:pokev2+1,208:rem--code(z)
  351. 753 ::ph=int(pu/256):pl=pu-ph*256:pokev2-4,pl:pokev2-3,ph:rem---puffer(pu,p$,l)
  352. 754 :p$="":poke32,peek(71):poke33,peek(72):v1=peek(32)+peek(33)*256:rem--string
  353. 755 :pokev1,l:pokev1+1,pl:pokev1+2,ph
  354. 756 :return:
  355. 759 :
  356. 760 :rem---speichern/laden demo
  357. 761 :n$="xx"::open1,8,1,"@0:"+n$+",s,w"
  358. 762 :print"s,";:a$="test":b$="ok":print#1,chr$(len(a$));a$;b$:close1:print"l:";
  359. 763 :open1,8,.,n$+",s,r":gosub750:
  360. 764 :a$="":poke781,1:sys65478:gosub770:a$=p$:sys65484:input#1,b$:close1:return:
  361. 769 :
  362. 770 :sys61758:l=peek(780):pokev1,l:ifl=.then:return:---string laden
  363. 771 :pokev2,l:sysv2-14:return:
  364. 772 :
  365. 773 :
  366. 774 :
  367. 799 ==grafik-config===============
  368. 800 :rem---grafik-loesch+ein(cg,f,l,m)
  369. 801 :cg=4:f=15+0*16:l=0:m=0::gosub805:
  370. 802 :poke1,55:gosub810:rem---loesch
  371. 803 :a=br:e=a+998:n=a+1:pokea,f:gosub443::a=gr:e=a+7998:n=a+1:pokea,l:gosub443
  372. 804 :goto820:
  373. 805 :gosub450:n=rs+55:gosub446:v=cb:cb=rs:gosub455:return:---inst.copy+peek
  374. 809 :
  375. 810 :rem---grafik-config(cg=1-4)
  376. 811 :ifcg=1then:br=1024::gr=8192::v=1:
  377. 812 :ifcg=2then:br=23552:gr=24576:v=7:
  378. 813 :ifcg=3then:br=35840:gr=40960:v=3:
  379. 814 :ifcg=4then:br=51200:gr=57344:v=2:
  380. 815 :g=1:bl=1024:gl=bl*8:zz=.:zs=53248:b=128:fori=.to7:b(i)=b:b=b/2:next:return
  381. 819 :
  382. 820 :gosub810:rem---grafik ein/aus
  383. 821 poke1,55:poke53265,11:p=56576:pokep,(peek(p)and252)or(3-int(gr/(gl*2)))
  384. 822 p=53272:poke2,peek(p):pokep,g*8+v*16:poke53270,m*16+200:poke53265,59:return
  385. 825 :poke53265,11:goto352:--graphik aus
  386. 827 :
  387. 828 :
  388. 830 :rem---linie(x1,y1,x2,y2)
  389. 831 :fori=1tomx-1:x1=x(i):y1=y(i):x2=x(i+1):y2=y(i+1):gosub832:next:return:
  390. 832 :m=(y2-y1)/(x2-x1):e=y1-m*x1:ifabs(x2-x1)>abs(y2-y1)goto834
  391. 833 :fory=y1toy2stepsgn(y2-y1):x=int((y-e)/m):gosub835:next:return:
  392. 834 :forx=x1tox2stepsgn(x2-x1):y=int(m*x+e):gosub835:next:return:
  393. 835 :b=xand7:a=gr+y+(yand248)*39+x-b:pokea,usr(a)orb(b):return:--set pixel(x,y)
  394. 838 :
  395. 850 :rem---grafik-string(a$,zz,zs,f)
  396. 851 poke56334,.:poke1,51:gosub852:poke1,55:poke56334,1:return:
  397. 852 :h=256:poke214,zz/40:poke211,zz-int(zz/40)*40:sys58640:
  398. 853 :p=peek(209)+peek(210)*256:j=peek(211):printa$;:fori=jtopeek(211)-1
  399. 854 :a=peek(p+i):n=gr+zz*8:pokebr+zz,f:zz=zz+1:a=zs+a*8:a%=n/h:poke53,n-a%*h
  400. 855 :poke54,a%:a%=a/h:poke782,a%:poke781,a-a%*h:poke780,8:sys46728:next:return
  401. 859 :
  402. 860 :rem---grafik demo
  403. 861 :gosub800:a$="[199]raphikschirm("+str$(gr)+" )":zs=53248+2*bl:f=1:gosub850
  404. 862 :mx=6:x(1)=10:y(1)=100:x(2)=160:y(2)=190:x(3)=310:y(3)=100:x(4)=160:y(4)=10
  405. 863 :x(5)=x(1):y(5)=y(1):x(6)=x(3):y(6)=y(3):gosub830:
  406. 865 :gosub52:gosub825:return:
  407. 898 :
  408. 899 ====sub-prg===================
  409. 900 :rem---prg-tastenabfrage
  410. 901 :gosub910:rem---list
  411. 902 :poke198,.:wait198,1:a=peek(631)::ifa=148then:gosub6:print"[147]";:poke214,255
  412. 903 :gosub7:ifa=69ora=148then:printr$"edit":sys42107
  413. 904 :ifa=92ora=83then:gosub940:on-(f<>.)goto902:on1-(a=83)gosub8,930:goto902:
  414. 905 :ifa=68then:gosub960:goto902:---linesave/druck
  415. 906 :ifa=86then:print"[147]":gosub947:a$="$":print:on-(f=.)gosub951:gosub50
  416. 907 :return:
  417. 908 :
  418. 909 :
  419. 910 :rem---prg-lister(a,e)
  420. 911 :poke214,peek(214)-1and255
  421. 912 :poke157,128:gosub913:poke22,25:poke157,.:poke212,.:sys58451:return:
  422. 913 :poke211,.:poke210,2:poke209,.:print"[146][204][201][211][212]"abs(a)"[157]-"abs(e)"[157]@";
  423. 914 :poke22,25-(a<.)*10:poke768,212:poke769,168:poke781,255:poke782,1:sys42118:
  424. 915 :
  425. 916 :rem---list-demo
  426. 917 :a=-5000:e=5003:gosub910:return:
  427. 918 :
  428. 919 :
  429. 930 n$=chr$(0):rem----save lines(n$,a,e)
  430. 931 :poke781,0:sys59903:poke213,39:a$="":input"zeilen-save(name,a,e)";a$,a,e
  431. 932 :gosub940:if(a*e=.orf<>.ora$="")then:return
  432. 933 :x=a:gosub936:a=ad:x=e+1:gosub938:e=ad-1::open1,8,1,"@0:"+a$+",prg,w"
  433. 934 :print#1,"";:fori=atoe:print#1,chr$(peek(i));:next:print#1,n$n$;:close1
  434. 935 :a=.:return:rem---find line(x)
  435. 936 :deffnp(i)=peek(i)+peek(i+1)*256:
  436. 937 ad=fnp(61)+1:z=fnp(ad+2):ifx<zthen:ad=43:
  437. 938 :forz=.tox:ad=fnp(ad):z=fnp(ad+2):printz"[145]":next:z=z-1:return:
  438. 939 :
  439. 940 b$="$":rem---disk-check+frei-blocks
  440. 941 :gosub946:close1:poke768,61:open1,8,.,b$:close1:ifst<>.goto945:--an/aus
  441. 942 gosub946:open1,8,15:on-(st<>.)goto945:input#1,f,f$:close1:iffgoto945:fehler
  442. 943 :open1,8,15,"i":print#1,"m-r"chr$(250)"":get#1,c$,b$,b$:close1:n$=chr$(0)
  443. 944 :fd=asc(c$+n$)+asc(b$+n$)*256:
  444. 945 :poke768,139:close1:return:
  445. 946 :f$="drive off":fd=.:f=99:return:
  446. 947 gosub940:poke19,1:print"disk: "f$tab(22)"frei:"fd"[157] bl ":poke19,.:return
  447. 949 :
  448. 950 a$="$0:*=prg":rem--disk-verzeichnis
  449. 951 :close1:open1,8,.,a$:poke781,1:sys65478:n$=chr$(.):geta$,a$,a$,a$:a=13
  450. 953 geta$,b$:a$=str$(asc(a$+n$)+asc(b$+n$)*256)
  451. 955 :on-(peek(197)+peek(653)<>64)goto955:ifstthen:sys65484:close1:return
  452. 956 :printmid$(a$,2)" ";:fori=.toa:geta$,b$:printa$b$;:next:print:a=14:goto953
  453. 957 :
  454. 958 :
  455. 960 :rem---schirm auf drucker
  456. 961 :gosub965:open1,4:print#1,chr$(27)chr$(.);:if(st)goto965:
  457. 962 :print"";:open2,3:
  458. 963 :forj=.topeek(213):poke212,.:get#2,a$:print#1,a$;:next:
  459. 964 :if(peek(214)<24)goto963
  460. 965 :close1:close2:return:
  461. 968 :
  462. 969 :
  463. 970 :rem---video-modus(vm=0-5,vs=0-3,b)
  464. 971 :vm=0:vs=3:b=1:zf=1:f0=6:f1=6:y=3:x=0:gosub973:gosub976:gosub974:rem--reset
  465. 972 ::b=-(b<>.):poke53265,(peek(53265)and239)orb*16:b=1-b:return:-schirn an/aus
  466. 973 ::p=53265:pokep,peek(p)and248ory:p=p+5:pokep,peek(p)and248orx:return:--roll
  467. 974 ::poke53282,f2:poke53283,f3:poke53284,f4:poke53281,f1:poke53280,f0:rem-farb
  468. 975 :poke646,zf:return:---zeichenfarbe
  469. 976 ::m=vm:s=vsand3:a=53265:pokea,(peek(a)and151)+(mand2)*32+(mand4)*8-(s>1)*8:
  470. 977 :a=a+5:pokea,(peek(a)and231)+(mand1)*16+(sand1)*8:b=1:return:---modus(0-5)
  471. 998 :
  472. 999 :
  473. 1000 :rem========================
  474. 1001 :rem   text: einfuehrung
  475. 1002 :rem========================
  476. 1003 :print"[147][197]infuehrung:":a=-1012:e=1035:gosub900
  477. 1004 :print"[147][196]as erste [208]rogramm:[146]  [196]emo([198]1)"
  478. 1005 :a=-1040:e=1059:gosub900:ifa<>133goto1007
  479. 1006 :print"[208]rogrammkopf:":a=0:e=8:gosub910:gosub55:goto1004
  480. 1007 :print"[147][198]ehlermeldungen:"
  481. 1008 :a=-1060:e=1082:gosub900:
  482. 1009 :return:
  483. 1011 :
  484. 1012 "[200]allo und willkommen 64'er [198]ans.
  485. 1014 "(NULL)it diesem peekasic-(NULL)urs fuer valinsteiger
  486. 1015 "will ich hier die [205]oeglichkeiten der
  487. 1016 "(NULL)rogrammierung in peekasic aufzeigen.
  488. 1017 :
  489. 1018 "[211]icher, [194]asic ist langsamer als [193]s-
  490. 1019 "sembler.(NULL)rotzdem gibt es eine ascuelle
  491. 1020 "von [205]oeglichkeiten, [212]ips und [212]ricks,
  492. 1021 "die diese (NULL)prache interessant machen.
  493. 1022 :
  494. 1023 "[218]eichsatz-, [211]prite-, [205]usik-, [199]rafik-
  495. 1024 "ascunktions- und (NULL)piele-(NULL)rogrammierung
  496. 1025 "ist auch von [194]asic aus moeglich.
  497. 1026 :
  498. 1027 "str$urch die (NULL)oeglickkeit des atnufrufs
  499. 1028 "von [194]etriebssystemroutinen, kann das
  500. 1029 "(NULL)tandard-peekasic um viele peekefehle er-
  501. 1030 "weitert und verbessert werden.
  502. 1031 :
  503. 1032 "(NULL)iel (NULL)pass  beim  atnusprobieren,
  504. 1033 "[210]umtuefteln und [194]asteln,
  505. 1034 "wuenscht valuch     (str$irk peekreitinger)
  506. 1039 :::::::
  507. 1040 "[194]asic-[208]rogramme gibt man ein, indem
  508. 1041 "man eine (NULL)eilennummer((NULL)ahl) gefolgt
  509. 1042 "von [194]asicbefehlen eingibt und diese
  510. 1043 "mit dem str$ruck der <(NULL)val(NULL)(NULL)(NULL)(NULL)>-(NULL)aste
  511. 1044 "abschliesst.                           :
  512. 1045 "valinzelne peekefehle werden durch den
  513. 1046 "[196]oppelpunkt von einander getrennt.      :
  514. 1047 "ascast alle peekefehle koennen bei der
  515. 1048 "[197]ingabe abgekuerzt werden, was jedoch
  516. 1049 "nicht immer ratsam ist.
  517. 1050 "[193]bgekuerzt wird, indem man den ersten
  518. 1051 "oder die ersten beiden peekuchstaben
  519. 1052 "normal und den folgenden mit der
  520. 1053 "<(NULL)left$right$asc(NULL)>-(NULL)aste zusammen eingibt.
  521. 1054 "[196]er [208][210][201][206][212]-[194]efehl wird mit einem <?>
  522. 1055 "abgekuerzt.
  523. 1056 :
  524. 1057 "[196]er [211]tart erfolgt mit <[210]un>+[210]eturn,
  525. 1058 "atnbbrechen kann man das (NULL)rogramm mit
  526. 1059 "<[211][212][207][208]>-[212]aste oder mit <[211][212][207][208]>-[210][197][211][212][207][210][197].
  527. 1060 "peekeim (NULL)esten treten dann voraus-
  528. 1061 "sichtlich verschiedene [198]ehler auf.
  529. 1062 "str$abei gilt: (NULL)ein (NULL)rogramm ist besser,
  530. 1063 "als es getestet wurde:
  531. 1064 "
  532. 1065 "a) [197]ingabe-[198]ehler: [211][217][206][212][193][216] [197][210][210][207][210]
  533. 1066 "b) (NULL)ade-ascehler   : (NULL)(NULL)atnstr$ val(NULL)(NULL)(NULL)(NULL)
  534. 1067 "c) [199]eraet-[193]us    : [196][197][214][201][195][197][160][206][207][212] [208][210][197][211][197][206][212]
  535. 1068 "d) (NULL)eilennummer  : (NULL)(NULL)str$valasc' (NULL)(NULL)atn(NULL)val(NULL)val(NULL)(NULL)
  536. 1069 "e) falscher [215]ert : [201][204][204][197][199][193][204] [209][213][193][206][212][201][212][217]
  537. 1070 "f) (NULL)ahl zu gross : (NULL)(NULL)val(NULL)asc(NULL)(NULL)(NULL) val(NULL)(NULL)(NULL)(NULL)
  538. 1071 "g) [203]ein [211]peicher : [207][213][212][160][207][198] [205][197][205][207][210][217]
  539. 1072 "h) str$irekteingabe : right$(NULL)(NULL)valchr$atn(NULL) str$right$(NULL)vallen(NULL)
  540. 1073 "i) [198][207][210] fehlt     : [206][197][216][212][160][215][201][212][200][207][213][212] [198][207][210]
  541. 1074 "j) chr$eteilt mit 0 : str$right$(NULL)right$(NULL)right$(NULL)(NULL)closepeek(NULL)close(NULL)val(NULL)(NULL)
  542. 1075 "k) [199][207][211][213][194] fehlt   : [210][197][212]. [215][201][212][200][207][213][212][160][199][207][211][213][194]
  543. 1076 "l) str$atei offen   : ascright$(NULL)valclose(NULL)(NULL)val(NULL) val(NULL)(NULL)(NULL)(NULL)
  544. 1077 "m) [198]eld-[201]ndex    : [194][193][196][160][211][213][194][211][195][210][201][208][212]
  545. 1078 "n) asceld-(NULL)euanlage: (NULL)valstr$right$(NULL)'str$ atn(NULL)(NULL)atn(NULL)
  546. 1079 "...
  547. 1080 "peekei atnbbruch kann die (NULL)eile mit list
  548. 1081 "gelistet werden und die [214]ariablen mit
  549. 1082 "z.peek. print;va: angezeigt werden.
  550. 1098 :
  551. 1099 :
  552. 1100 :rem======================
  553. 1101 :rem   text: grundlagen
  554. 1102 :rem======================
  555. 1103 :
  556. 1104 :print"[147] [199]rundlagen:"
  557. 1105 :a=-1112:e=1135:gosub900:return:
  558. 1106 :
  559. 1111 :
  560. 1112 "[204][193][196][197][206] und [211][208][197][201][195][200][197][210][206] von [208]rogrammen:
  561. 1113 :[147]"name",8  :[171][171][171]an basic[171]anfang
  562. 1114 :[147]"name",8,1:[171][171][171]m[198]hinen[171]programm
  563. 1115 :[148]"name",8  :[171][171][171]speichert basic[171]prg
  564. 1116 :[148]"name",8,1:[171][171][171]m[198]hinen[171]programm
  565. 1117 :[149]"name",8:[171][171][171]vergleich prg[173]datei
  566. 1118 :[147]"name":::::[171][171][171]laden v[145] kassette
  567. 1119 :
  568. 1120 "(NULL)(NULL)atn(NULL)(NULL)val(NULL) von peekasic-(NULL)rogrammen:"
  569. 1121 :[138]:
  570. 1122 :
  571. 1123 "(NULL)right$(NULL)(NULL)val(NULL) von peekasic-(NULL)rogramm-(NULL)eilen:
  572. 1124 :list 100    :zeile 100 listen
  573. 1125 :list -100   :bis zeile 100 listen
  574. 1126 :list 100-   :ab  zeile 100 listen
  575. 1127 :list 100-110:zeile 100 bis 110 listen
  576. 1128 :
  577. 1129 "[196]ie [195][212][210][204]-[212]aste verzoegert das [204]isten,
  578. 1130 "die (NULL)(NULL)(NULL)(NULL)-(NULL)aste bricht es ab.
  579. 1131 :
  580. 1132 :new:--- neu-befehl,loescht programm
  581. 1133 :clr:--- loescht programm-variablen
  582. 1197 :
  583. 1198 :
  584. 1199 :
  585. 1200 :rem==========================
  586. 1201 :rem text: ausgabe mit print
  587. 1202 :rem==========================
  588. 1203 :
  589. 1204 :print"[147] [193]usgeben mit print:[146]  [196]emo(f1)"
  590. 1205 :a=-1211:e=1235:gosub900:ifa<>133goto1207:
  591. 1206 :printl$"feld:":gosub602:gosub1222:gosub55:goto1200
  592. 1207 :goto1240:
  593. 1210 "
  594. 1211 "(NULL)it dem (NULL)(NULL)right$(NULL)(NULL)-peekefehl werden (NULL)ariablen
  595. 1212 "auf den [194]ildschirm ausgegeben.
  596. 1214 "a) (NULL)yp (NULL)eichenkette: print"hallo"
  597. 1215 "b) [212]yp [206]ummerisch  : print a;b;3.1
  598. 1216 "c) (NULL)yp chr$anzzahl    : print a%;b%;45
  599. 1217 "d) [212]yp [211]tring      : print a$
  600. 1218 "e) (NULL)yp atnscii(0-255): print chr$(147)
  601. 1219 "f) [212]yp [198]unktion    : print fnp(43)
  602. 1220 "g) (NULL)yp b,c,d kann aber auch
  603. 1221 "   als [198]eld defiert werden.
  604. 1222 ::[134] a$(20),b$(2,20),a(2,20)
  605. 1223 ::b(9)[178]1:a$(15)[178]"bb":b$(0,17)[178]"xx"
  606. 1224 ::[153] b(9),a$(15),b$(0,17):[142]
  607. 1225 :
  608. 1226 "str$ie atn(NULL)(NULL)chr$atnpeekval-(NULL)(NULL)val(NULL)(NULL)val steuert man mit
  609. 1227 " [203]omma,[211]emikolon,[212]ab() oder [211]pc().
  610. 1228 :[153],a;[163]22);b;[166]10)"atnatnatn":
  611. 1229 :[151]214,y:[153]"on"[163]x)"peekpeekpeek":
  612. 1230 :
  613. 1231 "(NULL)valright$lenleft$val(NULL) (NULL)(NULL)val(NULL)lenleft$val(NULL) mit (NULL)ab() & (NULL)(NULL)len():
  614. 1232 :poke19,1:printspc(l):poke19,.:return:
  615. 1233 :poke19,1:printtab(40):poke19,.:return
  616. 1239 :
  617. 1240 :
  618. 1244 :print"[147] [211]teuerzeichen bei print:":a=-1251:e=1272:gosub900
  619. 1245 :print"[147] [193]usgabe mit list:[146]  [196]emo([198]1)":a=910:e=917:gosub900:print""
  620. 1246 :ifa=133then:gosub916:gosub55:goto1245:
  621. 1247 :return:
  622. 1250 "
  623. 1251 "(NULL)yp (NULL)eichenkette kann auch noch ver-
  624. 1252 "schiedene [211]teuerzeichen enthalten:
  625. 1253 :
  626. 1254 "a) ascatn(NULL)peek-(NULL)teuerzeichen:(16 ascarben)
  627. 1255 "   [197]ingabe: [195]trl/[195]bm+(1-8)
  628. 1256 :
  629. 1257 :[153]"stopopenclrsys:forverifydefpokeprint#printcontlist"
  630. 1258 :
  631. 1259 "b) len(NULL)(NULL)(NULL)(NULL)(NULL)-(NULL)teuerzeichen:
  632. 1260 "   [197]ingabe: [195]ursortasten oder [200]ome
  633. 1261 :
  634. 1262 :[153]"oncmd":[143]--- hoch/runter/r./l.
  635. 1263 :[153]"load"[170][199](147):[143]--schirm-loesch
  636. 1264 :[153][199](20)[170][199](148):[143]-del,inst
  637. 1265 :[153][199](13)[170][199](141):[143]-zeile vor
  638. 1266 :
  639. 1267 "c) (NULL)valright$lenleft$val(NULL)(NULL)atn(NULL)(NULL)-(NULL)teuerzeichen
  640. 1268 "   [197]ingabe: [195]trl+9+0+n+sh-n+i+h
  641. 1269 :
  642. 1270 :[153]"wait":[143] invers/normal
  643. 1271 :[153]"return":[143] zeichensatz 1/2
  644. 1272 :[153]"":[143] umschaltung ein/aus
  645. 1273 "
  646. 1297 :
  647. 1298 :
  648. 1299 :
  649. 1300 :rem========================
  650. 1301 :rem text: eingaben machen
  651. 1302 :rem========================
  652. 1303 :print"[147] [197]ingaben machen:[146]  [196]emo(f1)"
  653. 1304 :a=-1311:e=1328:gosub910:a=90:e=92:gosub900:ifa<>133goto1306
  654. 1305 :printl$;:a$="":gosub1321:print"zeile:";:gosub90:gosub55:goto1300
  655. 1306 :print"[147] [197]ingaben machen:[146]  [196]emo([198]1)":a=70:e=79:gosub900:
  656. 1307 ifa=133then:print"[145]"l$"zeile:";:gosub70:print""a$:gosub55:goto1306
  657. 1308 :print"[147] [197]ingaben machen:[146]  [196]emo([198]1)":a=-1330:e=a:gosub910
  658. 1309 :a=80:e=88:gosub900:ifa=133then:printl$tab(10);:a$="":gosub88:goto1308
  659. 1310 :return:
  660. 1311 "[205]an unterscheidet verschiedene
  661. 1312 "valingabefaelle:
  662. 1313 "
  663. 1314 "a) (NULL)atn(NULL)(NULL)atn(NULL)(NULL)(NULL)-valingaben:
  664. 1315 :poke649,1:rem---puffer beschraenken
  665. 1316 :poke198,.:rem---tastenpuffer loeschen
  666. 1317 :wait198,1:geta$::printa$:
  667. 1318 :wait198,1:sys61758:a=peek(780):printa
  668. 1319 :
  669. 1320 "b) [218][197][201][195][200][197][206][203][197][212][212][197][206]/[218][193][200][204][197][206]-[197]ingaben:
  670. 1321 :[133]"valingabe:";a$::[153]a$
  671. 1322 :[133]"(NULL)ommazahl:";a:::[153]a
  672. 1323 :[133]"chr$anzzahl:";a%::[153]a%
  673. 1324 :[153]"valin(a,b,c):";:[133]a,b,c:
  674. 1325 :[153]a,b,c:[142]:
  675. 1326 :[151]213,l:[142]:[171][171][171][171]zei[195]laenge
  676. 1327 :
  677. 1328 "c) right$(NULL)(NULL)(NULL)(NULL)close(NULL)right$(NULL) (NULL)(NULL)(NULL)str$val(NULL)(NULL)valright$lenleft$val(NULL)
  678. 1329 :
  679. 1330 "d) [202][207][217][211][212][201][195][203] und [212][193][211][212][197][206]-[193][194][198][210][193][199][197]
  680. 1333 "
  681. 1400 :rem=======================
  682. 1401 :rem   text: daten ablegen
  683. 1402 :rem=======================
  684. 1403 :
  685. 1404 :print"[147] [196]aten-[194]ehandlung[146]  [196]emo([198]1)"
  686. 1405 :a=-1411:e=1420:gosub910:a=60:e=68:gosub900:ifa<>133then:return
  687. 1406 :printl$"lese:";:gosub67:gosub55:goto1400:
  688. 1407 :
  689. 1410 "
  690. 1411 "chr$roessere str$atenmengen koennen in
  691. 1412 "[196][193][212][193]-[218]eilen abgelegt und mit [210][197][211][212][207][210][197]
  692. 1413 "und (NULL)valatnstr$-peekefehl gelesen werden:
  693. 1414 :
  694. 1415 :restore:read a$,a::data"haus",255
  695. 1416 :print a$,a
  696. 1417 :
  697. 1418 "[198]olgendes [204]isting erlaubt den [218]ugriff
  698. 1419 "auf einzelne str$atn(NULL)atn-(NULL)valright$(NULL)val(NULL)/peekefehle.
  699. 1420 :
  700. 1434 :
  701. 1500 :rem==========================
  702. 1501 :rem text: string operationen
  703. 1502 :rem==========================
  704. 1503 :print"[147] [211]tring-[207]perationen:[146]  [196]emo(f1)":a=-1512:e=1530:gosub910
  705. 1504 :a=600:e=a+3:gosub900:on-(a<>133)goto1506:printl$;
  706. 1505 gosub1525:a$="*":l=200:gosub600:print"[211][212][210]-[199][197][206]"l:printa$;:gosub55:goto1500
  707. 1506 :print"[147] [211]tring-[207]perationen:[146]  [196]emo(f1,f3)":a=610:e=627:gosub900
  708. 1507 :ifa=133then:printl$;:gosub625:gosub50:goto1506:
  709. 1508 :ifa=134then:printl$;:goto627
  710. 1509 :return
  711. 1510 :
  712. 1511 :
  713. 1512 :a$="[218]eichen"::b$="":rem---leerstring
  714. 1514 :a=len(a$):rem---stringlaenge(0-255)
  715. 1515 :a=asc(a$):a=asc("a"):---ascii-code
  716. 1516 :a$=str$(a):rem---zahl in string
  717. 1517 :a=val(a$):rem---string in zahl
  718. 1518 :printti,ti$:ti$="000000":rem---zeit
  719. 1519 :
  720. 1520 "[214][197][210][194][201][206][196][197][206] von [211]trings mit '+'
  721. 1521 :a$[178]"(NULL)tring 1":b$[178]"(NULL)tring 2":
  722. 1522 :c$[178]a$[170]"-"[170]"b$+chr$(13)::print c$
  723. 1524 "[212][197][201][204][211][212][210][201][206][199] lesen: left$,right$,mid$
  724. 1525 :a$[178]"hallo echo":
  725. 1526 :b$[178][200](a$,5)::[153] b$:
  726. 1527 :c$[178][201](a$,4):[153] c$:
  727. 1528 :d$[178][202](a$,2):::[153] d$:
  728. 1529 :e$[178][202](a$,5,5):[153] e$:::[142]
  729. 1530 :
  730. 1599 :
  731. 1600 :[143]============================
  732. 1601 :[143] text: nummerische rechnung
  733. 1602 :[143]============================
  734. 1603 :[153]"load (NULL)ummerische (NULL)echnung:wait  str$emo(f1)":a[178][171]1611:e[178]1632:[141]900
  735. 1604 :[139]a[178]133[167]:[153]l$;:[141]1624:[141]55:[137]1600:
  736. 1605 :[153]"load ascunktionen:"
  737. 1606 :a[178][171]1640:e[178]1660:[141]911:a[178]20:e[178]42:[141]900:
  738. 1607 :[153]"load ascunktionen:"
  739. 1608 :a[178]44:e[178]48:[141]910:[153]:a[178]3960:e[178]3975:[141]900:[142]:
  740. 1609 :
  741. 1610 "
  742. 1611 "[199][210][213][206][196]-[210][197][195][200][197][206][193][210][212][197][206]:
  743. 1612 :a[178]1[170]2[171]3[172]4[173]5 :[143] plus,minus,mal,durch
  744. 1613 :b[178]2[174]3[170][186](4):[143] hoch,quadratwurzel
  745. 1614 :c[178][187]([171]ti):c[178][187](1):[143] zufallszahl
  746. 1615 :
  747. 1616 "(NULL)right$(NULL)(NULL)val(NULL)-asc(NULL)(NULL)(NULL)(NULL)right$(NULL)(NULL)val(NULL)
  748. 1617 "(sinus,cosinus,tangens,arcustangens)
  749. 1618 :w[178]60:b[178]w[173]180[172][255]
  750. 1619 :a[178][191](b)[170][190](b)[170][192](b)[170][193](b)
  751. 1620 "val(NULL)(NULL)(NULL)(NULL)val(NULL)(NULL)right$atn(NULL)-(NULL)(NULL)chr$val(NULL)right$(NULL)left$(NULL)(NULL)(NULL)(peekasis e)
  752. 1621 :a=exp(x)+log(x)+log(x)/log(10)
  753. 1622 :
  754. 1623 "[204][207][199][201][203] und [218][193][200][204]-[207][208][197][210][193][212][201][207][206][197][206]
  755. 1624 :a[178]128:b[178]255
  756. 1625 :c[178]a [175] 128:[153]"u:"c :[143]---und
  757. 1626 :c[178]a [176]  1  :[153]"o:"c :[143]---oder
  758. 1627 :c[178][168](a)   :[153]"n:"c :[143]---nicht
  759. 1628 :c[178][168](a)[175]255:[153] c :[143]---invert
  760. 1629 :c[178](a[176]b)[171](a[175]b):[153]c:[143]---a eor b
  761. 1630 :c[178][180](a)   :[153]"v:"c:[143]-vorzeichen
  762. 1631 :c[178][181](3.1) :[153]"g:"c:[143]---ganzzahl
  763. 1632 :c[178][182]([171]4)  :[153]"p:"c:[143]--positiv
  764. 1633 :[142]:
  765. 1640 "(NULL)it str$valascasc(NULL) kann eine ascunktion defi-
  766. 1641 "niert werden, die mit a=[198][206]a(.) auf-
  767. 1642 "gerufen werden kann.
  768. 1643 :
  769. 1698 :
  770. 1699 :
  771. 1700 :rem=========================
  772. 1701 :rem  text: kanal behandlung
  773. 1702 :rem=========================
  774. 1703 :
  775. 1704 :print"[147] [203]anal-[194]ehandlung:[146] [196]emo(f1)"
  776. 1705 :a=-1710:e=1731:gosub900:ifa<>133then:return:
  777. 1706 :printl$"disk:":gosub940:iffgoto1700
  778. 1707 :a$="x2":b$="test ok":gosub1729:b$="":gosub1730:printb$:gosub50:goto1700
  779. 1708 :gosub50:goto1700:
  780. 1709 :
  781. 1710 "[205]it [207][208][197][206],[195][204][207][211][197],[199][197][212]#,[201][206][208][213][212]#,[208][210][201][206][212]#
  782. 1711 "kann man die chr$eraete des len64 lesen,
  783. 1712 "beschreiben oder steuern.
  784. 1713 "chr$val(NULL)atnval(NULL)val(NULL)(NULL)(NULL)(NULL)val(NULL)(NULL) 0:(NULL)astatur, 1:(NULL)assette
  785. 1714 "3:[211]chirm, 4/5 [196]rucker  :8/9 [196]iskette
  786. 1715 "(NULL)atn(NULL)right$atnpeek(NULL)val (NULL)(NULL) zeigt den chr$val(NULL)atnval(NULL)val(NULL)(NULL)atn(NULL)(NULL)(NULL).
  787. 1716 :
  788. 1717 "[212][193][211][212][193][212][213][210] [204][197][211][197][206]:
  789. 1718 :[159]1,0:[146]198,1:[161]#1,a$:[160]1
  790. 1719 :[159]1,0:[132]1,a$:[160]1
  791. 1721 "(NULL)lenleft$right$(NULL)(NULL) (NULL)val(NULL)val(NULL):
  792. 1722 :open1,3:input#1,a$,c:close1:
  793. 1723 :
  794. 1724 "[204][201][211][212][201][206][199] auf [196][210][213][195][203][197][210]:
  795. 1725 :[159]1,4:[152]1,"str$ruck:":[157]1:[155][171]10
  796. 1726 :[152]1;:[160]1
  797. 1727 :
  798. 1728 "str$right$(NULL)(NULL)val(NULL)(NULL)val beschreiben/lesen(a$,b$)
  799. 1729 :open1,8,1,"@0:"+a$+",prg,w":print#1,b$:close1:return:
  800. 1730 :open1,8,.,a$+",prg,r":input#1,b$:close1:return:
  801. 1732 :
  802. 1733 "
  803. 1800 :[143]============================
  804. 1801 :[143] text: speicher operationen
  805. 1802 :[143]============================
  806. 1803 :[153]"load (NULL)peicher (NULL)perationen:wait  str$emo(f1)":a[178][171]1811:e[178]1831:[141]900
  807. 1804 :[139]a[178]133[167]:[141]1830:[141]55:[137]1800
  808. 1805 :[153]"load peekit (NULL)perationen:wait  str$emo(f1)":
  809. 1806 :a[178][171]1840:e[178]1842:[141]910:a[178]10:e[178]18:[141]910:a[178][171]1849:e[178]1854:[141]900
  810. 1807 :[139]a[178]133[167]:a[178]255:[153]l$"a="a",bin:";:[141]10:[141]55:[137]1805
  811. 1808 :[153]"load (NULL)ideo-(NULL)odus:wait  str$emo(f1)":a[178]970:e[178]977:[141]910:[153]
  812. 1809 :a[178]1860:e[178]a[170]4:[141]900:[139]a[179][177]133[167]:[142]:
  813. 1810 :[141]1860:[151]214,17:[137]1809:
  814. 1811 "(NULL)it dem (NULL)(NULL)(NULL)val, (NULL)valval(NULL)() und (NULL)(NULL)(NULL)-peekefehl
  815. 1812 "kann der [211]peicher beschrieben,gelesen
  816. 1813 "oder ausgefuehrt werden.
  817. 1814 :
  818. 1815 :poke53280,6 :rem---rahmenfarbe
  819. 1816 :poke53281,8 :rem---schirmfarbe
  820. 1817 :poke646,1   :rem---zeichenfarbe
  821. 1818 :sys58692    :rem---schirm loeschen
  822. 1819 :poke788,52:poke792,193:rem--stop-aus
  823. 1820 :
  824. 1821 "[195][213][210][211][207][210]-[208][207][211][201][212][201][207][206] holen/setzen
  825. 1822 :x[178][194](211):y[178][194](214):[143]-hol
  826. 1823 :[151]211,x:[151]214,y:[158]58640:[143]-setz
  827. 1824 :[151]213,40:[153]"*";:[143]---rollen aus
  828. 1825 :[129]i[178]217[164]242:[151]i,[194](i)[176]128:[130]:[142]:[171][171][171]schirm init
  829. 1826 :
  830. 1827 "(NULL)peicherstelle 780-783 dienen als
  831. 1828 "[210][197][199][201][211][212][197][210] bei [211][217][211]-[193][213][198][210][213][198][197][206]:
  832. 1829 :[151]781,4:[158]59903:[143] loesch zeile 4
  833. 1830 :[151]781,10:[158]58720:[143] loesch bis 10
  834. 1831 :[151]781,16:[158]58794:[143] sprite-reset
  835. 1832 :[142]:
  836. 1833 "
  837. 1840 "[205]it [207][210],[193][206][196] und [206][207][212] werden [194]its ge-
  838. 1841 "setzt, geloescht oder umgedreht:
  839. 1842 :
  840. 1849 :
  841. 1850 :p=53265:i=4:gosub17:rem--schirm aus
  842. 1851 :p=53265:i=4:gosub15:rem--schirm ein
  843. 1852 :p=53265:i=6:gosub15:rem--hg-farbmodus
  844. 1853 :p=53265:i=5:gosub15:rem--grafik modus
  845. 1854 :p=53270:i=4:gosub15:rem--multi-color
  846. 1855 :
  847. 1856 :b=128:rem---binaerzahl ausgeben(a)
  848. 1857 :fori=.to7:printchr$(48-((aandb)>.));:b=b/2:next:return
  849. 1858 :
  850. 1859 :
  851. 1860 :zf=1:rem----demo:
  852. 1861 :f0=peek(53280):f1=peek(53281):k=300:fori=.to22:gosub974:a=f0:f0=f1:f1=a:
  853. 1862 :gosub1864:next:
  854. 1863 :k=256:b=1:fori=1to40:gosub972:k=k/2:gosub1864:next:b=1:gosub972:return:
  855. 1864 :forj=kto.step-1:next:return:-wart
  856. 1898 :
  857. 1899 :
  858. 1900 :rem=========================
  859. 1901 :rem text: programm-struktur
  860. 1902 :rem=========================
  861. 1903 :
  862. 1904 :print"[147] [208][210][207][199][210][193][205][205]-[211][212][210][213][203][212][213][210][197][206]:"::a=-1910:e=1933:gosub900:
  863. 1905 :print"[147] [211][195][200][204][197][201][198][197][206]-[194][201][204][196][213][206][199]:[146]  [196]emo(f1)":a=-1953:e=a:gosub910
  864. 1906 :a=56:e=59:gosub910:print:a=-1940:e=a:gosub910:a=1941:e=1942:gosub910
  865. 1907 :a=-1944:e=1945:gosub910:a=1946:e=1948:gosub900
  866. 1908 :ifa=133then:printl$"[211]chleifen:":gosub1946:gosub55:goto1905
  867. 1909 :return:
  868. 1910 "[196]er [210][197][205]-[194]efehl fuer die [213]ebersicht:
  869. 1911 :[143]--"(NULL)nterprogrammkopf/(NULL)ommentar"
  870. 1912 :
  871. 1913 "(NULL)(NULL)(NULL)(NULL)val(NULL)chr$val:
  872. 1914 :run  1000:rem---startet prg ab 1000
  873. 1915 :goto 1000:rem---gehe nach zeile 1000
  874. 1916 :gosub1000:rem---unterprogramm-aufruf
  875. 1917 :return::::ruecksprung vom unter-prog.
  876. 1918 :
  877. 1919 "[214][197][210][218][215][197][201][199][213][206][199] nach [194][197][196][201][206][199][213][206][199]:
  878. 1920 :[139] a[178]1 [167]:[153] a
  879. 1921 :[139] a[178]2 [137]1000:[171][171][171]wenn a[178]2,geh 1000
  880. 1922 :[145][171](a[178]2)[137]1000::[153]a
  881. 1923 :[145][171](a[178]3)[141]1000:[153]a
  882. 1924 :
  883. 1925 "(NULL)val(NULL)(NULL)(NULL)valright$chr$(NULL)(NULL)chr$val(NULL) mit (NULL)atnpeekval(NULL)(NULL)val:
  884. 1926 :on(a)goto1000,1010,1020,1030:
  885. 1927 :on(a)gosub1000,1200,1300:
  886. 1928 :on1-(a=5)goto1200,1300
  887. 1930 :
  888. 1931 "[194][197][197][206][196][197][206][160]von [208]rogrammen: [197][206][196]/[210][197][211][197][212]
  889. 1932 :[128]:[144]:[158]42107:[143]---end
  890. 1933 :[158]58260:[158]64738:[143]---reset
  891. 1939 :
  892. 1940 "(NULL)lenleft$(NULL)valright$ascval(NULL) mit chr$(NULL)(NULL)(NULL):
  893. 1941 :geta$:ifa$=""goto1941:rem--taste
  894. 1942 :return:
  895. 1943 :
  896. 1944 :
  897. 1945 "[211][195][200][204][197][201][198][197][206] mit [198][207][210].[212][207].[211][212][197][208]:[206][197][216][212]:
  898. 1946 :[129]a[178]1[164]10:[153]a;:[130]:[153]
  899. 1947 :[129]a[178]10[164]1 [169][171]1:[153]a;:[130]:[153]
  900. 1948 :[129]a[178]1[164]5  [169].5:[153]a;:[130]:[153]
  901. 1949 :
  902. 1950 :[142]:
  903. 1952 :
  904. 1953 "chr$(NULL)(NULL)(NULL)-(NULL)atn(NULL)right$atn(NULL)(NULL)val(NULL)(x,adresse,anfang)
  905. 1997 :
  906. 1998 :
  907. 1999 :
  908. 3000 :rem==========================
  909. 3001 :rem text: disketten-laufwerk
  910. 3002 :rem==========================
  911. 3003 :print"[147][196]isk-[204]aufwerk:[146]  [196]emo([198]1)"
  912. 3004 :a=-3010:e=3026:gosub910:a=950:e=956:gosub900
  913. 3005 :ifa=133then:print"[147]";::gosub940:on-(f=0)gosub950:gosub55:goto3000
  914. 3006 :print"[147][196]isk-[204]aufwerk:[146]  [196]emo([198]1)"
  915. 3007 :a=940:e=947:gosub901
  916. 3008 :ifa=133then:print"[147]";:gosub947:gosub55:goto3006
  917. 3009 :return:
  918. 3010 "[205]it dem [196]isk-[204]aufwerk kann man [196]aten
  919. 3011 "laden und speichern.
  920. 3012 "[205]an unterscheidet die [196]ateitypen
  921. 3014 "(NULL)(NULL)chr$-(NULL)rogramm, (NULL)val(NULL)-(NULL)equenziell,
  922. 3015 "[213][211][210]-[213]ser und [210][197][204]-[210]elativ.
  923. 3016 "* = atnbkuerzung   ? = valrsatzzeichen
  924. 3019 :
  925. 3020 "[196][201][211][203]-[207][208][197][210][193][212][201][207][206][197][206]
  926. 3021 :[159]1,8,15,"r:neu=name":[171][171][171]umbenennen
  927. 3022 :[159]1,8,15,"s:name":::::[171][171][171]loeschen
  928. 3023 :[159]1,8,15,"c:name2=name":[171][171][171]kopieren
  929. 3024 :[159]1,8,15,"n:name,12":[171][171][171][129]matieren
  930. 3025 :[159]1,8,15,"v":::::[171][171][171]disk aufraeumen
  931. 3026 :
  932. 3098 :
  933. 3099 :
  934. 3100 :[143]========================
  935. 3101 :[143] text: laden/speichern
  936. 3102 :[143]========================
  937. 3103 :[153]"load(NULL)aden und (NULL)peichern:wait  str$emo(f1)"
  938. 3104 :a[178][171]3110:e[178]3112:[141]910:a[178]700:e[178]719:[141]910:a[178]9998:e[178]a[170]1:[141]900
  939. 3105 :[139]a[178]133[167]:[141]940:[145]1[171](f[177].)[137]730,3103
  940. 3106 :[153]"load(NULL)trings laden:wait  str$emo(asc1)"
  941. 3107 :a[178]750:e[178]771:[141]900:[139]a[179][177]133[167]:[142]:
  942. 3108 :[141]940::[145][171](f[177].)[137]3106:[141]760:[153],a$,b$:[141]50:[137]3106
  943. 3109 :
  944. 3110 "ascolgende (NULL)istings laden und speichern
  945. 3111 "[211]peicherbloecke, [194]asic-[195]ode und [196]atas
  946. 3112 :
  947. 3125 :
  948. 3200 :[143]=====================
  949. 3201 :[143]  text: zeichensatz
  950. 3202 :[143]=====================
  951. 3203 :[153]"load(NULL)eichensatz:wait  str$emo(f1)"
  952. 3204 :a[178][171]3210:e[178]3213:[141]911:a[178]300:e[178]324:[141]910:[141]55:[139]a[179][177]133[137]3207
  953. 3205 :[141]301:[153]"loadzeichsatz-demo:":c[178][165]c(.):[129]i[178].[164]255:[151]c[170]i,i:[130]
  954. 3206 :[141]55:[141]352:[137]3200
  955. 3207 :[153]"loadvalinstellungen:"
  956. 3208 a[178]330:e[178]355:[141]900:[142]:
  957. 3209 :
  958. 3210 "ascolgendes (NULL)isting erlaubt das atnendern
  959. 3211 "von [194][197][212][210][201][197][194][211][211][217][211][212][197][205] und [218][197][201][195][200][197][206][211][193][212][218]:
  960. 3212 :
  961. 3298 :
  962. 3299 :
  963. 3300 :[143]==================
  964. 3301 :[143]  text: graphik
  965. 3302 :[143]==================
  966. 3303 :
  967. 3304 :[153]"loadchr$raphik:wait  str$emo(f1)"
  968. 3305 :a[178]800:e[178]825:t[178]0:[141]901:[139]a[178]133[167]:[141]860:[137]3300:
  969. 3306 :[153]"loadchr$raphik:"
  970. 3307 :a[178]830:e[178]858:t[178]0:[141]901:[142]:
  971. 3309 :
  972. 3398 :
  973. 3399 :
  974. 3400 :[143]====================
  975. 3401 :[143]  text: sortieren
  976. 3402 :[143]====================
  977. 3403 :[153]"load(NULL)ortieren:wait  str$emo(f1)"
  978. 3404 :a[178]640:e[178]658:t[178]0:[141]901:
  979. 3405 :[139]a[178]133[167]:[153]"load";:[151]198,.:[141]640:[141]650:[141]55:[137]3403
  980. 3406 :[153]"load(NULL)ortieren:wait  str$emo(f1)"
  981. 3407 :a[178]660:e[178]673:t[178]0:[141]901:      :
  982. 3408 :[139]a[178]133[167]:[153]"load";:[151]198,.:[141]640:[141]660:[141]55:[137]3406:
  983. 3409 :[141]602:[142]:
  984. 3498 :
  985. 3499 :
  986. 3500 :[143]======================
  987. 3501 :[143]  text: schirm rollen
  988. 3502 :[143]======================
  989. 3503 :[153]"load(NULL)chirm rollen:wait  str$emo(f1,f3)"
  990. 3504 :a[178]500:e[178]525:[141]900:
  991. 3505 :[139]a[178]133[167]:a[178]0:k[178][171]15:[141]500:a[178]0:k[178]15:[141]500:[141]55:[137]3500
  992. 3506 :[139]a[178]134[167]:a[178]0:e[178]24:k[178][171]15:[141]520:k[178]15:[141]521:[141]55:[137]3500
  993. 3507 :[142]:
  994. 3509 :
  995. 3598 :
  996. 3599 :
  997. 3600 :[143]=================
  998. 3601 :[143] :text: sprites
  999. 3602 :[143]=================
  1000. 3603 :[153]"load(NULL)prites:"
  1001. 3604 :a[178]200:e[178]218:[141]900:
  1002. 3605 :[153]"load(NULL)prites:"
  1003. 3606 :a[178]220:e[178]243:[141]900
  1004. 3607 :[153]"load(NULL)prites:wait  str$emo(f1)"
  1005. 3608 :a[178]250:e[178]274:[141]900:[139]a[178]133[167]:[153]"loadjoy+sprite":[141]250:[137]3607
  1006. 3609 :[142]:
  1007. 3698 :
  1008. 3699 :
  1009. 3700 :[143]========================
  1010. 3701 :[143] :text: sound und musik
  1011. 3702 :[143]========================
  1012. 3704 :[153]"load(NULL)on-atnusgabe:"
  1013. 3705 :a[178][171]150:e[178]166:[141]900:
  1014. 3706 :[153]"load(NULL)on-atnusgabe:wait  str$emo(f1)"
  1015. 3707 :a[178]100:e[178]125:[141]900:[139]a[178]133[167]:[141]120:[137]3706:
  1016. 3709 :[142]:
  1017. 3798 :
  1018. 3799 :
  1019. 3800 :[143]==================
  1020. 3801 :[143] :text: kopieren
  1021. 3802 :[143]==================
  1022. 3803 ::[153]"load(NULL)opieren:wait  str$emo(asc1)"
  1023. 3804 :a[178][171]3820:e[178]3823:[141]911:a[178]400:e[178]419:[141]901:
  1024. 3805 :[139]a[178]133[167]:a[178][165]ba(930):a$[178]"beispiel-string":[141]404:[141]55:[137]3800
  1025. 3806 ::[153]"load(NULL)opieren:wait  str$emo(asc1)"
  1026. 3807 :a[178]430:e[178]447:[141]900:
  1027. 3808 :[139]a[178]133[167]:a[178]41000:e[178]a[170]959:n[178][165]ba(40):[141]430:[141]55:[137]3806
  1028. 3809 :
  1029. 3810 :[153]"load(NULL)opieren:wait  str$emo(f1)"
  1030. 3811 :a[178][171]3830:e[178]3834:[141]911:a[178]450:e[178]462:[141]901:[139]a[179][177]133[167]:[142]:
  1031. 3812 :[141]450:[153]"loadpeek(1)="[194](1)[163]20)"usr(1)="[183](1):[141]55:[137]3810
  1032. 3813 :
  1033. 3819 :
  1034. 3820 "(NULL)it (NULL)opierprogrammen kann man
  1035. 3821 "[211]peicherbereiche, [199]rafik oder [218]eichen
  1036. 3822 "verschieben, loeschen oder rollen.
  1037. 3823 "[211]ogar ein [194]itmap-[210]ollen wird moeglich.
  1038. 3824 :
  1039. 3830 "(NULL)it (NULL)atn(NULL)-(NULL)(NULL)(NULL)(NULL)(NULL)chr$ und (NULL)atn(NULL)-(NULL)valval(NULL) kann der
  1040. 3831 "[211]peicher unter dem [194]etriebsstem-[210][207][205],
  1041. 3832 "z.peek. zur chr$rafik-(NULL)rogrammierung,
  1042. 3833 "genutzt werden.
  1043. 3834 :
  1044. 3899 :
  1045. 3900 :[143]==========================
  1046. 3901 :[143] text: speicher-bereiche
  1047. 3902 :[143]==========================
  1048. 3903 :[153]"loadlen64 (NULL)peicher-atnufbau:"
  1049. 3904 :a[178][171]3910:e[178]3931:[141]900:
  1050. 3905 :[153]"load(NULL)eiger:wait  atnnzeigen(f1)"
  1051. 3906 :a[178][171]3940:e[178]3945:[141]910:a[178]3950:e[178]3974:[141]900:
  1052. 3907 :[139]a[178]133[167]:[141]3980:[141]55:[137]3905:
  1053. 3908 :[142]:
  1054. 3909 :
  1055. 3910 "0   - 255:    (NULL)val(NULL)(NULL)(NULL)atnchr$val
  1056. 3911 "256 - 511:  [208][210][207][218][197][211][211][207][210][211][212][193][208][197][204]
  1057. 3912 "511 - 600:  valright$(NULL)chr$atnpeekval(NULL)(NULL)ascascval(NULL)
  1058. 3913 "601 - 819:  [212][193][194][197][204][204][197][206],[218][197][201][199][197][210],[214][197][203][212][207][210][197][206]
  1059. 3914 "704 - 766:  (NULL)(NULL)(NULL)right$(NULL)val11 (frei)
  1060. 3915 "828 -1019:  [203][193][211][211][197][212][212][197][206][208][213][198][198][197][210](frei)
  1061. 3916 [171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171][171]
  1062. 3917 "1024 - 2023: peekildschirm   (1kb)
  1063. 3918 "2048 -40959: [208][210][207][199][193][205][205]-[210][193][205]  (38kb)
  1064. 3919 "(NULL)valright$lenleft$val(NULL)-(NULL)(NULL)(NULL): 4096-8191,36864-40959
  1065. 3920 ----------------------------------
  1066. 3921 "40960-49151: [194][193][211][201][195]-[210][207][205]    (8kb)
  1067. 3922 "49152-53247: (NULL)peekval(NULL)val(NULL)-(NULL)atn(NULL)   (4kb)
  1068. 3923 "53248-57343: [218][197][201][195][200][197][206]-[210][207][205]  (4kb)
  1069. 3924 "53248-53294: (NULL)right$len-(NULL)atn(NULL)      (1kb)
  1070. 3925 "54272-54300: [211][201][196]-[210][193][205]      (1kb)
  1071. 3926 "55296-56295: ascatn(NULL)peek-(NULL)atn(NULL)     (1kb)
  1072. 3927 "56320-57343: [195][201][193]1/[195][201][193]2    (1kb)
  1073. 3928 "57334-65535: (NULL)val(NULL)(NULL)atn(NULL)-(NULL)(NULL)(NULL)   (8kb)
  1074. 3929 "--------------------------------
  1075. 3930 "(NULL)right$len-peekatn(NULL)(NULL)0:00000  (NULL)right$len-peekatn(NULL)(NULL)2:32768
  1076. 3931 "[214][201][195]-[194][193][206][203]1:16384  [214][201][195]-[194][193][206][203]3:49152
  1077. 3932 "
  1078. 3933 "
  1079. 3940 "(NULL)eiger verwalten die valin-, atnusgabe,
  1080. 3941 "[208]rogramm und [214]ariablenbereiche im [195]64.
  1081. 3948 :
  1082. 3949 :
  1083. 3950 [141]20:[143]---programm-zeiger
  1084. 3951 [150][165] pa(a)[178][165]p(43):[143]--prg-anf.
  1085. 3952 [150][165] pe(a)[178][165]p(45):[143]--variablen
  1086. 3953 [150][165] pf(a)[178][165]p(47):[143]--felder
  1087. 3954 [150][165] ps(a)[178][165]p(49):[143]--str.anf.
  1088. 3955 [150][165] pz(a)[178][165]p(51):[143]-str-zeiger
  1089. 3956 [150][165] be(a)[178][165]p(55):[143]--ram-ende
  1090. 3959 :
  1091. 3960 [143]----schirm/zeichensatz-zeiger
  1092. 3961 [150][165] ba(a)[178]16384[172]([168]([194](56576))[175]3)[170]64[172]([194](53272)[175]240)[170]a
  1093. 3962 [150][165] zs(a)[178]16384[172]([168]([194](56576))[175]3)[170]1024[172]([194](53272)[175]14)[170]a[172]8
  1094. 3963 [150][165] br(a)[178][194](648)[172]256[170]a
  1095. 3964 [150][165] fs(a)[178]55296[170]a
  1096. 3970 [143]----basic prg-zeiger,zeilen-nr
  1097. 3971 [150][165] l(a)[178][165]p(61)[170]1
  1098. 3972 [150][165] zn(a)[178][165]p(57)
  1099. 3973 [143]----freier string speicher
  1100. 3974 [150][165]fr(a)[178][184](.)[171]65537[172]([184](.)[179].)
  1101. 3975 l$[178]"------"[170]r$:[142]:
  1102. 3978 :
  1103. 3980 :[143]----bereiche zeigen:
  1104. 3981 :[141]20:[153]"load(NULL)eiger-atnnzeige:"
  1105. 3982 :[153]"basic anfang-ende    :";[165]pa(.)"-"[165]be(.)[171]1""
  1106. 3983 :[153]"programm anfang-ende :";[165]pa(.)"-"[165]pe(.)[171]1
  1107. 3984 :[153]"variablen anfang-ende:";[165]pe(.)"-"[165]pf(.)[171]1
  1108. 3985 :[153]"felder anfang-ende   :";[165]pf(.)"-"[165]ps(.)[171]1
  1109. 3986 :[153]"string anfang-ende   :";[165]ps(.)"-"[165]be(.)[171]1""
  1110. 3987 :[153]"string zeiger/frei   :";[165]pz(.)" / "[165]fr(.)""
  1111. 3990 :[153]"sicht-schirm   :"[165]ba(.)
  1112. 3991 :[153]"ausgabe-schirm :"[165]br(.)
  1113. 3992 :[153]"farb-speicher  :"[165]fs(.)""
  1114. 3993 :[153]"zeichensatz    :"[165]zs(.)""
  1115. 3994 :[153]"programm-zeile :"[165]zn(.)
  1116. 3995 :[153]"programm-zeiger:"[165]l(.)
  1117. 3999 :[142]:
  1118. 4998 :
  1119. 4999 :
  1120. 5000 :[143]========================
  1121. 5002 :[143]  menue und textaufruf
  1122. 5003 :[143]========================
  1123. 5010 :[153]"load"
  1124. 5011 :[153]"tan(NULL)tanwaitstr$irk peekreitingertan(NULL)tanwait  ascrei-(NULL)oft(2002)"
  1125. 5012 :[153]" exclusiv fuer str$ right$ chr$ right$ (NULL) atn (NULL)  (NULL) atn (NULL) (NULL)"
  1126. 5013 :
  1127. 5014 :[151]214,18:[153]"onchr$ewitmet chr$rundrecht, ascreiheit, (NULL)ernunft,"
  1128. 5015 :[153]"         left$oeflichkeit und (NULL)ugend."
  1129. 5016 :[153]"(NULL)ur valhre von (NULL)rogrammierern und atnutoren."
  1130. 5017 :[153]"(NULL)nd natuerlich fuer alle peekasic ascans.";
  1131. 5018 :
  1132. 5020 :[141]50:[141]525:
  1133. 5098 :
  1134. 5099 :
  1135. 5100 :[143]---seitenaufbau menue1
  1136. 5101 :a[178]6:[151]53281,a:[151]53280,a[170]1
  1137. 5102 :[153]"loadpeekasic-(NULL)urs:  chr$rundlagen    wait"wl"":a[178]2
  1138. 5110 :[153][163]a)"( 1 ) valinfuehrung"
  1139. 5120 :[153][163]a)"( 2 ) chr$rundlagen"
  1140. 5130 :[153][163]a)"( 3 ) atnusgabe mit (NULL)rint
  1141. 5140 :printtab(a)"( 4 ) [197]ingaben machen
  1142. 5150 :[153][163]a)"( 5 ) str$aten-peekehandlung
  1143. 5160 :printtab(a)"( 6 ) [211]tring-[207]perationen
  1144. 5170 :[153][163]a)"( 7 ) (NULL)umerische (NULL)perationen
  1145. 5180 :printtab(a)"( 8 ) [203]anal [194]ehandlung
  1146. 5190 :[153][163]a)"( 9 ) (NULL)peicher (NULL)perationen
  1147. 5195 :printtab(a)"( 0 ) [208]rogramm-[211]trukturen
  1148. 5196 :[151]214,24:[153]"on""str$:str$ruck (NULL):(NULL)peichern val:valdit"[163]28)">>>> weiter";
  1149. 5197 :[141]12:
  1150. 5198 :
  1151. 5199 :
  1152. 5500 :[143]---tasten
  1153. 5501 :[141]902:[139]a[178]95[167]:[138]:
  1154. 5502 :[139]a[178]17[176]a[178]29[176]a[178]145[167]:wl[178]0:[141]602:[137]6000
  1155. 5506 :
  1156. 5507 ::[145][171](a[178]32)[137]5510:[139]a[178]13[167]:wl[178](wl[170]1)[172][171](wl[179]10):[137]5510
  1157. 5508 :b[178]a[171]48:[139]b[179].[176]b[177]10[137]5100
  1158. 5509 :wl[178]a[171]48:wl[178]wl[171](wl[178]0)[172]10:[139](wl[179].[176]wl[177]10)[167]:wl[178]0:[137]5100:
  1159. 5510 :[139]wl[178]0[167]:wl[178]1
  1160. 5511 :[145](wl)[141]1000,1100,1200,1300,1400,1500,1600,1700,1800,1900:[137]5100
  1161. 5996 :
  1162. 5997 :
  1163. 5998 :
  1164. 5999 :
  1165. 6000 :[143]===menue 2=============
  1166. 6001 :
  1167. 6100 :[143]---seitenaufbau menue2
  1168. 6101 :[151]53281,12:[151]53280,7
  1169. 6102 :[153]"loadpeekasic-(NULL)urs: ascortgeschrittene wait"wl"":a[178]2:
  1170. 6110 :[153][163]a)"( 1 ) str$isk-(NULL)aufwerk
  1171. 6120 :printtab(a)"( 2 ) [204]aden und [211]peichern
  1172. 6130 :[153][163]a)"( 3 ) (NULL)eichensatz
  1173. 6140 :printtab(a)"( 4 ) [199]raphik
  1174. 6150 :[153][163]a)"( 5 ) (NULL)ortieren
  1175. 6160 :printtab(a)"( 6 ) [211]chirm-[210]ollen
  1176. 6170 :[153][163]a)"( 7 ) (NULL)prites
  1177. 6180 :printtab(a)"( 8 ) [211]ound und [205]usik
  1178. 6190 :[153][163]a)"( 9 ) (NULL)opieren
  1179. 6195 :printtab(a)"( 0 ) [211]peicher-[194]ereiche
  1180. 6196 :[151]214,24:[153]"on""str$:str$ruck (NULL):(NULL)peichern val:valdit"[163]28)">>>> weiter";
  1181. 6198 :
  1182. 6199 :
  1183. 6500 :[143]---tasten
  1184. 6501 :[141]902
  1185. 6506 :[139]a[178]145[176]a[178]17[176]a[178]29[167]:wl[178]0:[141]602:[137]5100
  1186. 6507 :[145][171](a[178]32)[137]6510:[139]a[178]13[167]:wl[178](wl[170]1)[172][171](wl[179]10):[137]6510
  1187. 6508 :b[178]a[171]48:[139]b[179].[176]b[177]10[137]5100:
  1188. 6509 :wl[178]a[171]48:wl[178]wl[171](wl[178]0)[172]10:[145][171](wl[179].)[137]6500:
  1189. 6510 :[139]wl[178].[167]:wl[178]1:[143]---aufruf
  1190. 6511 :[145](wl)[141]3000,3100,3200,3300,3400,3500,3600,3700,3800,3900:[137]6100
  1191. 9997 :
  1192. 9998 [141]20:[143]----letzte zeile:
  1193. 9999 a[178][165]p([165]p(61)[170]1):e[178][165]p(45):[142]:
  1194. 10000 :basic[171]prg ab 10000
  1195.